import { createDiscreteApi } from "naive-ui" // 使用naive-ui的工具组件
// 全局loading加载
export default defineNuxtPlugin((nuxtAPP) => {
	// Nuxt3中不需要在import { ref } 内置了
	const bar = ref(null)
	// app开始加载
	nuxtAPP.hook("app:mounted", () => {
		if(!bar.value){
			const { loadingBar } = createDiscreteApi(['loadingBar'])
			bar.value = loadingBar
			// bar.value?.start()
		}
	})
	// 页面开始加载时触发
	nuxtAPP.hook("page:start", () => {
		console.log('page:start')
		bar.value?.start()
	})
	// 页面加载完成触发
	nuxtAPP.hook("page:finish", () => {
		console.log('page:finish')
		setTimeout(()=> {
			bar.value?.finish()
		},150)
	})
	// 抛出异常，出现错误的时候触发
	nuxtAPP.hook("app:error", () => {
		if (process.client) { // 判断是否为客户端 process.server:服务端
			setTimeout(()=> {
				bar.value?.finish()
			},150)
		}
	})
})